<?php
// Don't show warnings
error_reporting(E_ALL ^ E_WARNING);

// BEGIN OF CONNECTION TO DB

function executeQueryGetData($query)
{
    // Get DB conection
    include "DB_connect.php";
    // Do the rest to get the data
    $result = mysqli_query($data_base_conection, $query);
    if($result == FALSE)
    {
        return NULL;
    }
    $arregloRegreso = array();
    $registro = mysqli_fetch_array($result);
    while($registro)
    {
        array_push($arregloRegreso, $registro);
        $registro = mysqli_fetch_array($result);
    }
    return $arregloRegreso;
}

function executeQueryNoData($query)
{
    // Get DB conection
    include "DB_connect.php";
    // Return the status of the execution
    return mysqli_query($data_base_conection, $query);
}
// END OF CONNECTION TO DB


// Funciones para obtener informacion de las tablas y hacerles modificaciones:

function eliminaUsuario($id)
{
    $consultaSQL = "DELETE FROM usuario WHERE ID = $id";
    return executeQueryNoData($consultaSQL);
}

function insertaUsuario($username, $password, $ID_tipoUsuario, $nombre, $apellidoP, $apellidoM)
{
    $consultaSQL = "INSERT INTO usuario (ID, username, password, ID_tipoUsuario, nombre, apellidoP, apellidoM) " . 
                   "VALUES (NULL, '$username', MD5('$password'), $ID_tipoUsuario, '$nombre', '$apellidoP', '$apellidoM')";
    return executeQueryNoData($consultaSQL);
}

function actualizaUsuario($id, $username, $password, $ID_tipoUsuario, $nombre, $apellidoP, $apellidoM)
{
    if($password == '')
    {
        $consultaSQL = "UPDATE usuario SET username = '$username', ID_tipoUsuario = $ID_tipoUsuario, nombre = '$nombre', apellidoP = '$apellidoP', apellidoM = '$apellidoM' WHERE ID = $id";
    }
    else
    {
        $consultaSQL = "UPDATE usuario SET username = '$username', password = MD5('$password'), ID_tipoUsuario = $ID_tipoUsuario, nombre = '$nombre', apellidoP = '$apellidoP', apellidoM = '$apellidoM' WHERE ID = $id";
    }
    
    return executeQueryNoData($consultaSQL);
}

function dimeUsuario($id)
{
    $consultaSQL = "SELECT * FROM usuario WHERE ID = $id";
    $result = executeQueryGetData($consultaSQL);
    return $result[0];
}
    
function dimeUsuarios()
{
    $consultaSQL = "SELECT * FROM usuario";
    return executeQueryGetData($consultaSQL);
}

function dimeTiposDeUsuarios()
{
    $consultaSQL = "SELECT * FROM tipousuario";
    return executeQueryGetData($consultaSQL);
}

// Funciones para obtener información sobre los proyectos
function dimeProyecto($id)
{
    $consultaSQL = "SELECT * FROM proyecto WHERE ID = $id";
    $result = executeQueryGetData($consultaSQL);
    return $result[0];
}
    
function dimeProyectosPorUsuario($idUsuario)
{
    $consultaSQL = "SELECT * FROM proyecto, usuario_proyecto WHERE usuario_proyecto.ID_usuario = $idUsuario and usuario_proyecto.ID_proyecto = proyecto.ID";
    return executeQueryGetData($consultaSQL);
}

function dimeDetallesProyecto($idProyecto)
{
    $consultaSQL = "SELECT actividad.nombre, actividad.descripcion, actividad.porcentaje FROM actividad WHERE ID_PROYECTO = '$idProyecto'  ";
    return executeQueryGetData($consultaSQL);
}

function dimeFacturasProyecto($idProyecto)
{
    $consultaSQL = "SELECT factura.folio, factura.monto FROM factura, factura_actividad, actividad WHERE factura.ID = factura_actividad.ID_factura and factura_actividad.ID_actividad = actividad.ID and actividad.ID_proyecto = $idProyecto ";
    return executeQueryGetData($consultaSQL);
}

function ingresaActividad($nombre,$descripcion,$idUsuario,$idProyecto,$porcentaje)
{
    $consultaSQL="INSERT INTO actividad (ID, nombre, descripcion, ID_usuario, ID_proyecto, porcentaje) VALUES (NULL, '$nombre', '$descripcion', $idUsuario, $idProyecto, $porcentaje)";
    return executeQueryNoData($consultaSQL);
}

function avanceProyecto($idProyecto)
{
    $consultaSQL = "SELECT AVG(porcentaje) as completez FROM actividad WHERE ID_proyecto = $idProyecto";
    return executeQueryGetData($consultaSQL)[0];
}

function imprimeProgressBar($porcentaje)
{
    if($porcentaje < 35)
    {
        echo '<div class="progress">';
            echo '<div class="progress-bar progress-bar-danger" style="width: ' . $porcentaje . '%"/>';
        echo '</div>';
    }
    else if($porcentaje < 65)
    {
        echo '<div class="progress">';
            echo '<div class="progress-bar progress-bar-warning" style="width: ' . $porcentaje . '%"/>';
        echo '</div>';
    }
    else
    {
        echo '<div class="progress">';
            echo '<div class="progress-bar progress-bar-success" style="width: ' . $porcentaje . '%"/>';
        echo '</div>';
    }
    
}

?>

